package com.summer.campussct.pojo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotEmpty;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Chen
 * @since 2024-04-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Vehicle implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 车辆名称
     */
    @ApiModelProperty(required = true, value = "车辆名称")
    @NotEmpty(message = "车辆名不能为空")
    private String name;

    /**
     * 品牌
     */
    @NotEmpty(message = "品牌不能为空")
    @ApiModelProperty(required = true, value = "品牌")
    private String brand;

    /**
     * 上牌时间,yyyy-MM
     */
    @ApiModelProperty(required = true, value = "上牌时间")
    @NotEmpty(message = "上牌时间")
    private String registerDate;

    /**
     * 配置版本
     */
    @ApiModelProperty(value = "配置版本")
    private String version;

    /**
     * 车架号
     */
    @ApiModelProperty(value = "车架号")
    private String vin;

    /**
     * 级别，字典表100
     */
    @ApiModelProperty(value = "10001微型车 10002紧凑型车 10003中型车 10005中大型车 10006大型车")
    private Integer size;

    /**
     * 发动机和变速箱
     */
    @ApiModelProperty(value = "发动机")
    private String engine;

    @ApiModelProperty(value = "变速箱")
    private String gearbox;

    @ApiModelProperty("燃油标号")
    private String oilLabel;

    @ApiModelProperty("驱动方式")
    private String driverWay;

    /**
     * 车身颜色
     */
    @NotEmpty(message = "颜色不能为空")
    @ApiModelProperty(required = true, value = "车身颜色")
    private String color;

    /**
     * 官方指导价
     */
    @ApiModelProperty(value = "颜色不能为空")
    private BigDecimal price;


    @ApiModelProperty("排放标准")
    private String emissionStandard;

}
